package com.hyt.it.ogt.kq.service.gov.model.param;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.hyt.core.ModelSerializable;
import com.hyt.core.validate.Check;
import com.hyt.core.validate.Insert;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import java.util.List;
import java.util.Set;

/**
 * @program: it-ogt-kq
 * @description: 批量选择考生保存接口请求参数
 * @author: Yang HuanKun
 * @create: 2023-08-07 15:49
 **/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "BatchSelectStudentSaveParam对象", description = "批量选择考生保存接口请求参数")
public class BatchSelectStudentSaveParam implements ModelSerializable {

    @NotBlank(groups = {Check.class, Insert.class}, message = "报名ID不能为空")
    @ApiModelProperty(value = "报名ID")
    private String projectId;

    @ApiModelProperty(value = "考生信息集合")
    private List<BatchSelectStudentDataParam> studentQualifications;

    @ApiModelProperty(value = "部门ID集合")
    private Set<String> deptIds;

    @JsonIgnore
    @ApiModelProperty(hidden = true)
    private String userId;
}
